1. Field of the Invention
The invention relates to testing computer motherboards. More particularly, the invention relates to a method for testing various I/O ports of a computer motherboard.
2. Description of the Related Art
While a central processing unit (CPU) performs most computer jobs, it is really a motherboard that brings it all together to turn a CPU into a modern personal computer. Typically, a computer motherboard includes many input/output (I/O) ports for connecting to various peripherals, and these I/O ports are arranged on the personal computer. It is necessary to test every I/O port of the computer motherboard as much as feasible during design phase or in the final stages of manufacture. Some limited functional tests can be performed by a basic input-output system (BIOS) routine. The BIOS is low-level software that controls devices on the motherboard. The CPU executes the BIOS code upon power-up or reboot, where the BIOS code is stored in a system non-volatile memory on the computer motherboard. The BIOS typically first runs a power-up self-test (POST), which is a series of diagnostic tests to ensure the basic hardware is operating properly. The BIOS also initializes basic hardware operations and some basic video functions. The BIOS then searches for and initiates an operating system, such as Microsoft Windows or Linux.
It is often convenient to execute extensive diagnostic test applications under a window-based operating system so as to test various elements of the computer. Unfortunately, there are several disadvantages to testing the I/O ports of the motherboard as described above. The BIOS code does provide some I/O testing at the system level, but its diagnostic capability is limited. Any messages typically provided, for example, only indicate that a problem exists, but rarely identify what the problem is or where it is. Also, the motherboard under test must load an operating system from a storage device in order to execute diagnostic programs, which takes a significant amount of time. The above schemes for testing I/O ports of a computer motherboard are complicated and time consuming. Further, there is no integrated methodology for testing frequently used I/O ports on today""s personal computers.
Accordingly, what is needed is a test method for effectively testing frequently used I/O ports of a computer motherboard. The test method should be simple to allow rapid testing of the I/O ports on the basis of the each I/O port""s characteristics. Furthermore, the test method should preferably be accurate to indicate which pin of an abnormal I/O port is not operating properly.
The present invention is generally directed to a method for testing I/O ports of a computer motherboard. According to one aspect of the invention, a non-volatile memory on the computer motherboard is first provided with a test code for initializing the computer motherboard and testing its I/O ports. The test code includes a plurality of test routines corresponding to the I/O ports. Upon power-up or reboot, the computer motherboard is booted from the test code in the non-volatile memory. Thereafter, various I/O ports of the motherboard under test are listed on a display menu. According to the invention, there is no need to load an operating system. After selecting one of the I/O ports to be tested from the display menu, the corresponding test routine for the selected I/O port is executed to test the signal pins on the basis of the selected I/O port""s characteristics. If every signal pin of the selected I/O port is operating correctly, a pass message is displayed. Otherwise, a failure message is displayed to indicate which signal pin of the selected I/O port is not operating correctly.
According to another aspect of the invention, a computer motherboard under test includes a CPU and a non-volatile memory for storing a BIOS code. The first step of the inventive method is to provide the non-volatile memory with a test code instead of the BIOS code for initializing the computer motherboard and testing its I/O ports. Note that the test code includes a plurality of test routines corresponding to the I/O ports. Upon power-up or reboot, the CPU is booted from the test code in the non-volatile memory whereby the CPU executes the test code to test the I/O ports of the computer motherboard. Subsequently, various I/O ports of the motherboard under test are listed on a display menu. According to the invention, there is no need to load an operating system. After interactively selecting one of the I/O ports to be tested from the display menu, the corresponding test routine for the selected I/O port is executed to test the signal pins on the basis of the selected I/O port""s characteristics. If every signal pin of the selected I/O port is operating properly, a pass message is displayed. If there is an abnormal signal pin in the selected I/O port, a failure message is displayed to indicate which signal pin of the selected I/O port is not operating properly.